package bulk_param.controller;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;

import bulk_param.view.Open_Contact_Num_View;


public class RadioButtonCreationController implements ActionListener{
	
	private Open_Contact_Num_View open_Contact_Num_View;

	
	public RadioButtonCreationController(Open_Contact_Num_View open_Contact_Num_View){
		this.open_Contact_Num_View=open_Contact_Num_View;
	}
	
	@Override
	public void actionPerformed(ActionEvent arg0) {
		
		
		// ACTION SUR LES RADION BUTTON
		if(arg0.getSource().equals(open_Contact_Num_View.national) || arg0.getSource().equals(open_Contact_Num_View.international)
			|| arg0.getSource().equals(open_Contact_Num_View.fixe_geo) || arg0.getSource().equals(open_Contact_Num_View.num_09)
			|| arg0.getSource().equals(open_Contact_Num_View.mobile)){
			
			//REMISE A ZERO DES BORDURE ROUGE CHAMPS VIDE
			open_Contact_Num_View.cbOperateur.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.cbPointRegion.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.cbZNE.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.dateEditor.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.cbPays.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			
			
			//NATIONAL
			
			//ACTION RADIO BUTTON NATIONAL + FIXE GEO
			if(open_Contact_Num_View.national.isSelected() && open_Contact_Num_View.fixe_geo.isSelected()){
			System.out.println(" National fixe géo");
			open_Contact_Num_View.cbPointRegion.setEnabled(true);
			open_Contact_Num_View.cbZNE.setEnabled(true);
			open_Contact_Num_View.num_09.setEnabled(true);
			open_Contact_Num_View.fixe_geo.setEnabled(true);
			open_Contact_Num_View.cbOperateur.setEnabled(true);
			open_Contact_Num_View.lbZNE.setForeground(Color.darkGray);
			open_Contact_Num_View.lbPointRegion.setForeground(Color.darkGray);
			open_Contact_Num_View.lbPays.setVisible(false);
			open_Contact_Num_View.cbPays.setVisible(false);
			open_Contact_Num_View.lbOperateur.setVisible(true);
			open_Contact_Num_View.cbOperateur.setVisible(true);
			
			//Remplissage combobox operateur + point region pour fixe geo
			open_Contact_Num_View.cbOperateur.removeAllItems();
			open_Contact_Num_View.cbOperateur.addItem(null);
			open_Contact_Num_View.cbPointRegion.removeAllItems();
			open_Contact_Num_View.cbPointRegion.addItem(null);
			open_Contact_Num_View.txtZLT.setText(null);
			open_Contact_Num_View.txtZLT.setEnabled(false);
			for (int i=0;i<open_Contact_Num_View.listOperateurNationalFixe.size();i++){
	        	open_Contact_Num_View.cbOperateur.addItem(open_Contact_Num_View.listOperateurNationalFixe.get(i));
	        }
	        for (int i=0;i<open_Contact_Num_View.listPointRegionNational.size();i++){
	        	open_Contact_Num_View.cbPointRegion.addItem(open_Contact_Num_View.listPointRegionNational.get(i));
	        }
			}
			
			//ACTION RADIO BUTTON NATIONAL + NUM_09
			if((open_Contact_Num_View.national.isSelected()) && (open_Contact_Num_View.num_09.isSelected())){
			System.out.println(" National num 09");
			open_Contact_Num_View.cbZNE.setEnabled(false);
			open_Contact_Num_View.lbZNE.setForeground(Color.gray);
			open_Contact_Num_View.cbPointRegion.setEnabled(false);
			open_Contact_Num_View.lbPointRegion.setForeground(Color.gray);
			open_Contact_Num_View.num_09.setEnabled(true);
			open_Contact_Num_View.fixe_geo.setEnabled(true);
			open_Contact_Num_View.cbOperateur.setEnabled(true);
			open_Contact_Num_View.lbPays.setVisible(false);
			open_Contact_Num_View.cbPays.setVisible(false);
			open_Contact_Num_View.lbOperateur.setVisible(true);
			open_Contact_Num_View.cbOperateur.setVisible(true);
			
			//Remplissage combobox operateur et point region pour num 09
			open_Contact_Num_View.cbOperateur.removeAllItems();
			open_Contact_Num_View.cbOperateur.addItem(null);
			open_Contact_Num_View.cbPointRegion.removeAllItems();
			open_Contact_Num_View.cbPointRegion.addItem(null);
			open_Contact_Num_View.txtZLT.setText(null);
			open_Contact_Num_View.txtZLT.setEnabled(false);
			for (int i=0;i<open_Contact_Num_View.listOperateurNationalFixe.size();i++){
	        	open_Contact_Num_View.cbOperateur.addItem(open_Contact_Num_View.listOperateurNationalFixe.get(i));
	        	}
	        for (int i=0;i<open_Contact_Num_View.listPointRegionNational.size();i++){
	        	open_Contact_Num_View.cbPointRegion.addItem(open_Contact_Num_View.listPointRegionNational.get(i));
	        	}
	        }
			
			//ACTION RADIO BUTTON NATIONAL + MOBILE
			if((open_Contact_Num_View.national.isSelected()) && (open_Contact_Num_View.mobile.isSelected())){
			System.out.println(" National mobile");
			open_Contact_Num_View.lbPointRegion.setForeground(Color.gray);
			open_Contact_Num_View.cbPointRegion.setEnabled(false);
			open_Contact_Num_View.lbZNE.setForeground(Color.gray);
			open_Contact_Num_View.cbZNE.setEnabled(false);
			open_Contact_Num_View.cbOperateur.setEnabled(true);
			open_Contact_Num_View.fixe_geo.setEnabled(true);
			open_Contact_Num_View.num_09.setEnabled(true);
			open_Contact_Num_View.lbPays.setVisible(false);
			open_Contact_Num_View.cbPays.setVisible(false);
			open_Contact_Num_View.lbOperateur.setVisible(true);
			open_Contact_Num_View.cbOperateur.setVisible(true);
			
			//Remplissage combobox operateur mobile
			open_Contact_Num_View.cbOperateur.removeAllItems();
			open_Contact_Num_View.cbOperateur.addItem(null);
			open_Contact_Num_View.cbPointRegion.removeAllItems();
			open_Contact_Num_View.cbPointRegion.addItem(null);
			open_Contact_Num_View.txtZLT.setText(null);
			open_Contact_Num_View.txtZLT.setEnabled(true);
			for (int i=0;i<open_Contact_Num_View.listOperateurNationalMobile.size();i++){
	        	open_Contact_Num_View.cbOperateur.addItem(open_Contact_Num_View.listOperateurNationalMobile.get(i));
	        	}
			for (int i=0;i<open_Contact_Num_View.listPointRegionNational.size();i++){
	        	open_Contact_Num_View.cbPointRegion.addItem(open_Contact_Num_View.listPointRegionNational.get(i));
	        	}
	        }
		
			// INTERNATIONAL
			
			//ACTION RADIO BUTTON INTERNATIONAL + FIXE GEO
			if((open_Contact_Num_View.international.isSelected()) && open_Contact_Num_View.fixe_geo.isSelected()){
				System.out.println(" International fixe géo ");
				open_Contact_Num_View.mobile.setSelected(true);
				open_Contact_Num_View.lbPointRegion.setForeground(Color.gray);
				open_Contact_Num_View.cbPointRegion.setEnabled(false);
				open_Contact_Num_View.lbZNE.setForeground(Color.gray);
				open_Contact_Num_View.cbZNE.setEnabled(false);
				open_Contact_Num_View.num_09.setEnabled(false);
				open_Contact_Num_View.fixe_geo.setEnabled(false);
				open_Contact_Num_View.cbOperateur.setEnabled(true);
				open_Contact_Num_View.lbPays.setVisible(true);
				open_Contact_Num_View.cbPays.setVisible(true);
				open_Contact_Num_View.lbOperateur.setVisible(false);
				open_Contact_Num_View.cbOperateur.setVisible(false);
				
				//Remplissage combobox operateur
				open_Contact_Num_View.cbPays.removeAllItems();
				open_Contact_Num_View.cbPays.addItem(null);
				open_Contact_Num_View.txtZLT.setText(null);
				open_Contact_Num_View.txtZLT.setEnabled(false);
				for (int i=0;i<open_Contact_Num_View.listPaysMobile.size();i++){
		        	open_Contact_Num_View.cbPays.addItem(open_Contact_Num_View.listPaysMobile.get(i));
		        }
			}
			
			//ACTION RADIO BUTTON INTERNATIONAL + MOBILE
			if((open_Contact_Num_View.international.isSelected()) && (open_Contact_Num_View.mobile.isSelected())){
				System.out.println(" International Mobile ");
				open_Contact_Num_View.lbPointRegion.setForeground(Color.gray);
				open_Contact_Num_View.cbPointRegion.setEnabled(false);
				open_Contact_Num_View.lbZNE.setForeground(Color.gray);
				open_Contact_Num_View.cbZNE.setEnabled(false);
				open_Contact_Num_View.num_09.setEnabled(false);
				open_Contact_Num_View.fixe_geo.setEnabled(false);
				open_Contact_Num_View.cbOperateur.setEnabled(true);
				open_Contact_Num_View.lbPays.setVisible(true);
				open_Contact_Num_View.cbPays.setVisible(true);
				open_Contact_Num_View.lbOperateur.setVisible(false);
				open_Contact_Num_View.cbOperateur.setVisible(false);
				
				//Remplissage combobox operateur
				open_Contact_Num_View.cbPays.removeAllItems();
				open_Contact_Num_View.cbPays.addItem(null);
				open_Contact_Num_View.txtZLT.setText(null);
				open_Contact_Num_View.txtZLT.setEnabled(false);
				for (int i=0;i<open_Contact_Num_View.listPaysMobile.size();i++){
		        	open_Contact_Num_View.cbPays.addItem(open_Contact_Num_View.listPaysMobile.get(i));
		        }
			}
			
			//ACTION RADIO BUTTON INTERNATIONAL + NUM_09
			if((open_Contact_Num_View.international.isSelected()) && (open_Contact_Num_View.num_09.isSelected())){
				System.out.println(" International num 09 ");
				open_Contact_Num_View.mobile.setSelected(true);
				open_Contact_Num_View.lbPointRegion.setForeground(Color.gray);
				open_Contact_Num_View.cbPointRegion.setEnabled(false);
				open_Contact_Num_View.lbZNE.setForeground(Color.gray);
				open_Contact_Num_View.cbZNE.setEnabled(false);
				open_Contact_Num_View.num_09.setEnabled(false);
				open_Contact_Num_View.fixe_geo.setEnabled(false);
				open_Contact_Num_View.cbOperateur.setEnabled(true);
				open_Contact_Num_View.lbPays.setVisible(true);
				open_Contact_Num_View.cbPays.setVisible(true);
				open_Contact_Num_View.lbOperateur.setVisible(false);
				open_Contact_Num_View.cbOperateur.setVisible(false);
				
				//Remplissage combobox operateur
				open_Contact_Num_View.cbPays.removeAllItems();
				open_Contact_Num_View.cbPays.addItem(null);
				open_Contact_Num_View.txtZLT.setText(null);
				open_Contact_Num_View.txtZLT.setEnabled(false);
				for (int i=0;i<open_Contact_Num_View.listPaysMobile.size();i++){
		        	open_Contact_Num_View.cbPays.addItem(open_Contact_Num_View.listPaysMobile.get(i));
		        }
			}		
		}						
	}
}



